Field of the Invention
This invention relates to a digital rights management system, and in particular, it relates to a digital rights management system that implements version control for the digital documents being managed.
Description of Related Art
Documents traditionally available only in hard copies are increasingly also available in digital copies. In fact many documents nowadays are prepared, generated, stored, distributed, accessed, read or otherwise used electronically in digital file formats such as the Portable Document Format (PDF). With the wide use of digital documents and digital document processing, digital rights management systems (“DRM” or “RMS”) are increasingly implemented to control user access and prevent unauthorized use of digital documents. The rights involved in using a digital document may include the right to view (or “read”) the digital document, the right to edit (or “write”) the digital document, the right to print the digital document in hard copies, the right to copy the digital document, etc. A user may access a digital document by acquiring (or being assigned) one or more of these rights.
DRM systems are generally implemented for managing users' rights to the digital documents stored in the systems. In a current DRM system, each digital document is associated with a rights management policy (or simply referred to as policy in this disclosure) that specifies which user has what rights to the document, as well as other parameters relating to access rights. Many such policies are stored in a DRM server (also called RMS server). The server also stores a database table that associates each document (e.g. by a unique ID, referred to as document ID or license ID) with a policy (e.g. by policy ID). Each digital document may also have metadata that contains the document ID. When a user attempts to access a document (either a document residing on a server or a document that has been downloaded or copied to the user's computer) using an application program such as Adobe™ or Acrobat™ or Acrobat™ Reader™, the application program on the client computer contacts the RMS server to request permission. The server determines whether the requesting user has the right to access the document in the attempted manner (view, edit, print, etc.), by determining the policy associated with the document and then referring to the content of that policy. The server then transmits an appropriate reply to the application program to grant or deny the access. If access is granted, the server's reply may contain a decryption key for the client computer to decrypt the document.
The description herein of the structures, functions, interfaces and other relevant features, such as digital rights policies, application programming interface (API) for rights management and policies, etc., of existing DRM systems may at times incorporates, references or otherwise uses certain information, documents and materials from publicly and readily available and accessible public information, e.g., for Adobe™ LiveCycle™: “Rights Management” (URL http://help.adobe.com/en_US/livecycle/10.0/Overview/WS92d06802c76abadb2c8525912ddcb9a ad9-7ff8.html), “Programmatically applying policies (a subsection of ‘Rights Management’)”, (URL http://help.adobe.com/en_US/livecycle/10.0/Overview/WSb96e41f8a4ca47a9-4882aeb5131190eddba-8000.html), “LiveCycle® ES Java™ API Reference” (URL http://livedocs.adobe.com/livecycle/es/sdkHelp/programmer/javadoc/index.html), etc. The Microsoft™ ADRMS system is also a digital rights management system.
As digital information (e.g., digital documents) sharing across outside enterprise and within enterprise is exploding, it is increasingly harder to manage different versions of the digital documents after they are distributed to many users. Some systems provide mechanisms to replace older versions of documents. For example, patent application WO/2008/034379 describes “A method and system for exchanging version object in digital version managing system are provided to solve the problem of that the prior art of DRM can not complete exchanging version object in one interactive process. The method comprises: the digital version management proxy module of client sends one version exchange request message carrying at least one original version object information and at least one target version object information to the version center, the version center, based on received version exchange request message, decides to exchange version objects and generates version exchange response message, the version center sends version exchange response message to the digit version management proxy module, the digit version management proxy module, based on received version exchange response message, replaces the original version object, or keeps the original version object.”(Abstract.)